package com.atguigu.gmall.product.service;

import com.alibaba.fastjson.JSONObject;
import com.atguigu.gmall.model.product.*;

import java.util.List;


public interface ManageService {
    List<BaseCategory1> getCategory1();

    List<BaseCategory2> getCategory2(Long category1_id);

    List<BaseCategory3> getCategory3(Long category2_id);

    /**
     * 获取平台属性列表,填充内部各自的属性值
     * @param category1Id
     * @param category2Id
     * @param category3Id
     * @return
     */
    List<BaseAttrInfo> getAttrInfoList(Long category1Id, Long category2Id, Long category3Id);

    /**
     * 根据平台属性id获取平台属性值(修改时候回显用的)
     * @param baseAttrInfoId
     * @return
     */
    List<BaseAttrValue> getBaseAttrValue(Long baseAttrInfoId);

    /**
     * 添加或修改一个平台属性(包含其若干个属性值)
     * @param baseAttrInfo
     */
    void saveOrUpdateBaseAttrInfo(BaseAttrInfo baseAttrInfo);

    /**
     * 分别获取三个级分类名称
     * @param category3Id
     * @return
     */
    BaseCategoryView getCategoryViewByCategory3Id(Long category3Id);


    List<SpuSaleAttr> getSpuSaleAttrListCheckBySku(Long skuId, Long spuId);

    /**
     * 获取全部分类信息
     * @return
     */
    List<JSONObject> getBaseCategoryList();


    List<BaseAttrInfo> getAttrList(Long skuId);
}
